<?php
require_once "../lib/utils.php";

class PlanesHotel{

	//Funccion para agregar un nuevo plan de hotel
	function createPlanHotel($Id_Hotel,$txt_nombre, $sl_tipo_habitacion, $ta_incluye, $txt_fecha_inicio, $txt_fecha_fin, $txt_costo_indiferente, $txt_costo_junior, $txt_costo_menos, $txt_costo_indiferente_fv, $txt_costo_junior_fv, $txt_costo_menos_fv){		
		
		$db = new DB();
		
////		$query = "BEGIN";
////		$db->query($query);
		
		$query="insert into planes_hotel (id_hotel, id_tipo, nombre_plan, incluye, fecha_inicio, fecha_fin, cifv, cjfv , cmfv, cidv, cjdv , cmdv ) values ( $Id_Hotel,$sl_tipo_habitacion, '{$txt_nombre}', '{$ta_incluye}', '{$txt_fecha_inicio}', '{$txt_fecha_fin}',   $txt_costo_indiferente_fv, $txt_costo_junior_fv, $txt_costo_menos_fv, $txt_costo_indiferente, $txt_costo_junior, $txt_costo_menos)";


		if($db->indeup($query)){
////			$query = "COMMIT";
////			$db->query($query);
			return true;
		}

		return false;
	}


	//Funccion para actualizar planes de hotel
	function updatePlanHotel($Id_Hotel,$txt_nombre, $sl_tipo_habitacion, $ta_incluye, $txt_fecha_inicio, $txt_fecha_fin,  $txt_costo_indiferente, $txt_costo_junior, $txt_costo_menos, $txt_costo_indiferente_fv, $txt_costo_junior_fv, $txt_costo_menos_fv,  $idPlan){
		
		$db = new DB();

		
		$query = "UPDATE planes_hotel SET
		id_hotel = '{$Id_Hotel}', id_tipo = '{$sl_tipo_habitacion}', nombre_plan = '{$txt_nombre}', incluye = '{$ta_incluye}', fecha_inicio = '{$txt_fecha_inicio}', fecha_fin = '{$txt_fecha_fin}' , cidv = '{$txt_costo_indiferente}', cjdv = '{$txt_costo_junior}', cmdv = '{$txt_costo_menos}', cifv = '{$txt_costo_indiferente_fv}', cjfv = '{$txt_costo_junior_fv}', cmfv = '{$txt_costo_menos_fv}' WHERE id_plan = {$idPlan}";
		if($db->indeup($query)){

			return true;
		}

		return false;
	}


	//Funccion para obtener datos de un solo plan de hotel
	function getPlanHotel($idPlan){
		$toReturn=array();
		$db=new DB();
		$r=$db->query("SELECT * FROM planes_hotel WHERE id_plan='{$idPlan}'");
		if($db->total()>0){
			$plan = $db->getRow();
			$toReturn=array("Id_Hotel" => $plan['Id_Hotel'], "Id_Tipo" => $plan['Id_Tipo'], "Nombre_Plan" => $plan['Nombre_Plan'], "Incluye" => $plan['Incluye'], "Fecha_Inicio" => $plan['Fecha_Inicio'], "Fecha_Fin" => $plan['Fecha_Fin'], "CIFV" => $plan['CIFV'], "CJFV"=> $plan['CJFV'], "CMFV" => $plan['CMFV'], "CIDV" => $plan['CIDV'], "CJDV"=> $plan['CJDV'], "CMDV" => $plan['CMDV']);
		}
		$db->close();
		return $toReturn;
	}


	// Funcion para obtener los planes de algun hotel...
	function getPlanesFrom($Id_Hotel){

		$toReturn=array();
		$db=new DB();
		
		$where = '';
		if($idProcedencia != -1)
			$where = "WHERE Id_Hotel='{$Id_Hotel}'";

		$r=$db->query("SELECT Id_Plan, Id_Tipo, Nombre_Plan, Incluye, Fecha_Inicio, Fecha_Fin, CIFV, CJFV, CMFV, CIDV, CJDV, CMDV FROM planes_hotel {$where}");

		if($db->total()>0){
			while($row=$db->getRow()){
				$toReturn[]=array( "Id_Plan" => $row['Id_Plan'], "Nombre_Plan" => $row['Nombre_Plan'], "Id_Tipo" => $row['Id_Tipo'], "Incluye" =>  $row['Incluye'], "Fecha_Inicio" => $row['Fecha_Inicio'], "Fecha_Fin" => $row['Fecha_Fin'], "CIFV" => $row['CIFV'], "CJFV"=> $row['CJFV'], "CMFV" => $row['CMFV'], "CIDV" => $row['CIDV'], "CJDV"=> $row['CJDV'], "CMDV" => $row['CMDV']);
			}
		}
		$db->close();
		return $toReturn;
	}
	
	
	// Funcion para eliminar un plan...
	function deletePlan($idPlan){
		
		$db = new DB();
		
		$query = "DELETE from planes_hotel WHERE Id_Plan={$idPlan} ";

		if($db->indeup($query)){

			return true;
		}

		return false;
	}

	
	////////////////////////////////////////////////////////////////////////////
	////	FUNCIONES QUE INTERACTUAN CON OTRAS TABLAS....
	//Funccion para obtener datos de un tipo de habitacion...
	function getTipoHabitacion($idHotel, $idHabitacion){
		$toReturn=array();
		$db=new DB();
		$r=$db->query("SELECT   tipo_habitacion.Nombre,  habitaciones.Descripcion FROM  tipo_habitacion  INNER JOIN habitaciones ON (tipo_habitacion.Id_Tipo = habitaciones.Id_Tipo) WHERE habitaciones.Id_Hotel='{$idHotel}' and habitaciones.Id_Habitacion = '{$idHabitacion}' ");
		
		if($db->total()>0){
			$plan = $db->getRow();
			$toReturn=array("Nombre" => $plan['Nombre'], "Descripcion" => $plan['Descripcion']);
		}
		$db->close();
		return $toReturn;
	}		
	
	//Funccion para obtener datos todos los tipos de habitacion... de un hotel...
	function getTiposHabitaciones($idHotel){
		$toReturn=array();
		$db=new DB();
		$query = "SELECT  habitaciones.Id_Habitacion, tipo_habitacion.Nombre,  habitaciones.Descripcion FROM  tipo_habitacion  INNER JOIN habitaciones ON (tipo_habitacion.Id_Tipo = habitaciones.Id_Tipo) WHERE habitaciones.Id_Hotel='{$idHotel}'  ";

		$r=$db->query($query);
		
		if($db->total()>0){
			while($row=$db->getRow()){
				$toReturn[]=array("Id_Habitacion" => $row['Id_Habitacion'], "Nombre" => $row['Nombre'], "Descripcion" => $row['Descripcion']);
			}
		}
		
		$db->close();
		return $toReturn;
	}		
}
?>